package ch.quantasy.android.repetitive.definition;

import java.util.concurrent.TimeUnit;

public interface RepeaterStrategy {

	public abstract boolean isRunning();

	public abstract void finalize();

	/**
	 * Start repeating the action- after the time specified
	 */
	public abstract void startTimedRepetition();

	/**
	 * Stop repeating the action.
	 */
	public abstract void stopTimedRepetition();

	public abstract void setUpdateInterval(long latestRepetitionInMillis,
			long updateInterval, TimeUnit unit);

	public abstract long getUpdateIntervalInMillis();

	public abstract long getLatestRepetitionInMillis();

	public abstract long getNextRepetitionInMillis();

}